package main

import (
	"fmt"
	"github.com/hpcloud/tail"
	"time"
)

// 实时监控文件的变化

func main() {
	fileName :="./my.log"
	config := tail.Config{
		ReOpen:  true,
		Follow: true,
		Location: &tail.SeekInfo{Offset: 0,Whence: 2},
		MustExist:  false,
		Poll: true,
	}
	tails, err := tail.TailFile(fileName,config)
	if err != nil {
		fmt.Println("tail file failed,err:",err)
		return
	}
	var (
		line *tail.Line
		ok bool
	)
	for{
		line, ok = <-  tails.Lines
		if !ok {
			fmt.Printf("tail file close reopen, filename:%s\n", tails.Filename)
			time.Sleep(time.Second)
			continue
		}
		fmt.Println("line:", line.Text)
	}
}
